Погрузитесь в Вид программы на уровне машины, где сложность аппаратных средств абстрагирована в структурированное виртуальное адресное пространство. В этом представлении память — это не набор переменных, а огромный, непрерывный массив блоков по 8 битов, называемых байтами. Для машины с разрядностью слова $w$ адреса находятся в диапазоне от $0$ до $2^w - 1$, что определяет границы доступа программы.
1. Сила числа 16
Двоичная система — язык схем, но шестнадцатеричная система счисления — это язык программистов. Поскольку $16 = 2^4$, один шестнадцатеричный символ (0–F) идеально соответствует 4-битному полубайту. Это позволяет выразить значение одного байта компактно ровно двумя цифрами (например, 0xFF). Эта краткая запись необходима для чтения машинного кода и ассемблерного кода, например, инструкция 4004dc: 48 03 47 28.
2. Точность и арифметика
При работе с целыми типами данных, мы сталкиваемся с булевыми кольцами и дополнением до двух логикой. Нам нужно ориентироваться в хранении в порядке малого конца хранении, переполнение целых чисел, и тонкостях одинарной точности плавающей точки, где бесконечность ($+\infty$) и NaN находятся. Понимание этих битовых шаблонов — первый шаг к освоению арифметики произвольной точности и надежного системного программирования.